package com.sunny.fetch.pojo;

import javax.persistence.*;

@Table(name = "f_ths_daily")
public class FThsDaily {
    @Id
    private Long tid;

    /**
     * TS指数代码
     */
    @Column(name = "ts_code")
    private String tsCode;

    /**
     * 交易日
     */
    @Column(name = "trade_date")
    private String tradeDate;

    /**
     * 收盘点位
     */
    private Float close;

    /**
     * 开盘点位
     */
    private Float open;

    /**
     * 最高点位
     */
    private Float high;

    /**
     * 最低点位
     */
    private Float low;

    /**
     * 昨日收盘点
     */
    @Column(name = "pre_close")
    private Float preClose;

    /**
     * 平均价
     */
    @Column(name = "avg_price")
    private Float avgPrice;

    /**
     * 涨跌点位
     */
    private Float change;

    /**
     * 涨跌幅
     */
    @Column(name = "pct_change")
    private Float pctChange;

    /**
     * 成交量
     */
    private Float vol;

    /**
     * 换手率
     */
    @Column(name = "turnover_rate")
    private Float turnoverRate;

    /**
     * 总市值
     */
    @Column(name = "total_mv")
    private Float totalMv;

    /**
     * 流通市值
     */
    @Column(name = "float_mv")
    private Float floatMv;

    public FThsDaily(Long tid, String tsCode, String tradeDate, Float close, Float open, Float high, Float low, Float preClose, Float avgPrice, Float change, Float pctChange, Float vol, Float turnoverRate, Float totalMv, Float floatMv) {
        this.tid = tid;
        this.tsCode = tsCode;
        this.tradeDate = tradeDate;
        this.close = close;
        this.open = open;
        this.high = high;
        this.low = low;
        this.preClose = preClose;
        this.avgPrice = avgPrice;
        this.change = change;
        this.pctChange = pctChange;
        this.vol = vol;
        this.turnoverRate = turnoverRate;
        this.totalMv = totalMv;
        this.floatMv = floatMv;
    }

    public FThsDaily() {
        super();
    }

    /**
     * @return tid
     */
    public Long getTid() {
        return tid;
    }

    /**
     * @param tid
     */
    public void setTid(Long tid) {
        this.tid = tid;
    }

    /**
     * 获取TS指数代码
     *
     * @return ts_code - TS指数代码
     */
    public String getTsCode() {
        return tsCode;
    }

    /**
     * 设置TS指数代码
     *
     * @param tsCode TS指数代码
     */
    public void setTsCode(String tsCode) {
        this.tsCode = tsCode;
    }

    /**
     * 获取交易日
     *
     * @return trade_date - 交易日
     */
    public String getTradeDate() {
        return tradeDate;
    }

    /**
     * 设置交易日
     *
     * @param tradeDate 交易日
     */
    public void setTradeDate(String tradeDate) {
        this.tradeDate = tradeDate;
    }

    /**
     * 获取收盘点位
     *
     * @return close - 收盘点位
     */
    public Float getClose() {
        return close;
    }

    /**
     * 设置收盘点位
     *
     * @param close 收盘点位
     */
    public void setClose(Float close) {
        this.close = close;
    }

    /**
     * 获取开盘点位
     *
     * @return open - 开盘点位
     */
    public Float getOpen() {
        return open;
    }

    /**
     * 设置开盘点位
     *
     * @param open 开盘点位
     */
    public void setOpen(Float open) {
        this.open = open;
    }

    /**
     * 获取最高点位
     *
     * @return high - 最高点位
     */
    public Float getHigh() {
        return high;
    }

    /**
     * 设置最高点位
     *
     * @param high 最高点位
     */
    public void setHigh(Float high) {
        this.high = high;
    }

    /**
     * 获取最低点位
     *
     * @return low - 最低点位
     */
    public Float getLow() {
        return low;
    }

    /**
     * 设置最低点位
     *
     * @param low 最低点位
     */
    public void setLow(Float low) {
        this.low = low;
    }

    /**
     * 获取昨日收盘点
     *
     * @return pre_close - 昨日收盘点
     */
    public Float getPreClose() {
        return preClose;
    }

    /**
     * 设置昨日收盘点
     *
     * @param preClose 昨日收盘点
     */
    public void setPreClose(Float preClose) {
        this.preClose = preClose;
    }

    /**
     * 获取平均价
     *
     * @return avg_price - 平均价
     */
    public Float getAvgPrice() {
        return avgPrice;
    }

    /**
     * 设置平均价
     *
     * @param avgPrice 平均价
     */
    public void setAvgPrice(Float avgPrice) {
        this.avgPrice = avgPrice;
    }

    /**
     * 获取涨跌点位
     *
     * @return change - 涨跌点位
     */
    public Float getChange() {
        return change;
    }

    /**
     * 设置涨跌点位
     *
     * @param change 涨跌点位
     */
    public void setChange(Float change) {
        this.change = change;
    }

    /**
     * 获取涨跌幅
     *
     * @return pct_change - 涨跌幅
     */
    public Float getPctChange() {
        return pctChange;
    }

    /**
     * 设置涨跌幅
     *
     * @param pctChange 涨跌幅
     */
    public void setPctChange(Float pctChange) {
        this.pctChange = pctChange;
    }

    /**
     * 获取成交量
     *
     * @return vol - 成交量
     */
    public Float getVol() {
        return vol;
    }

    /**
     * 设置成交量
     *
     * @param vol 成交量
     */
    public void setVol(Float vol) {
        this.vol = vol;
    }

    /**
     * 获取换手率
     *
     * @return turnover_rate - 换手率
     */
    public Float getTurnoverRate() {
        return turnoverRate;
    }

    /**
     * 设置换手率
     *
     * @param turnoverRate 换手率
     */
    public void setTurnoverRate(Float turnoverRate) {
        this.turnoverRate = turnoverRate;
    }

    /**
     * 获取总市值
     *
     * @return total_mv - 总市值
     */
    public Float getTotalMv() {
        return totalMv;
    }

    /**
     * 设置总市值
     *
     * @param totalMv 总市值
     */
    public void setTotalMv(Float totalMv) {
        this.totalMv = totalMv;
    }

    /**
     * 获取流通市值
     *
     * @return float_mv - 流通市值
     */
    public Float getFloatMv() {
        return floatMv;
    }

    /**
     * 设置流通市值
     *
     * @param floatMv 流通市值
     */
    public void setFloatMv(Float floatMv) {
        this.floatMv = floatMv;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", tid=").append(tid);
        sb.append(", tsCode=").append(tsCode);
        sb.append(", tradeDate=").append(tradeDate);
        sb.append(", close=").append(close);
        sb.append(", open=").append(open);
        sb.append(", high=").append(high);
        sb.append(", low=").append(low);
        sb.append(", preClose=").append(preClose);
        sb.append(", avgPrice=").append(avgPrice);
        sb.append(", change=").append(change);
        sb.append(", pctChange=").append(pctChange);
        sb.append(", vol=").append(vol);
        sb.append(", turnoverRate=").append(turnoverRate);
        sb.append(", totalMv=").append(totalMv);
        sb.append(", floatMv=").append(floatMv);
        sb.append("]");
        return sb.toString();
    }
}